package IC.SymbolTable;

import IC.TypeTable.*;


// class Symbol represents a single entry in the Symbol Table

public abstract class Symbol {
	
	protected  String symID;  //name
	protected  Type type;
	protected  Kind kind;
	
	
		
	public Symbol(String id, Type type, Kind kind) 
	{
		this.symID = id;
		this.type = type;
		this.kind = kind;
	}
	
	
	public String getId() 
	{
		return symID;
	}
	
	public Type getType() 
	{
		return type;
	}
	
	
 
	

	public Kind getKind()
	{
		return this.kind;
	}
	
	
	@Override
	public  String toString() 

	{
		return this.getKind() + ": " + this.type + " " + this.symID;
	}
	
	
	
	
}
